/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.miage.shopping.presentation;

import fr.miage.shopping.dao.traitements.ProduitDao;
import fr.miage.shopping.metier.entite.Produit;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

/**
 *
 * @author MACAJ
 */
public class SelectionProduit extends JFrame implements ActionListener {

    private JButton bOK = new JButton("OK");
    private JButton bAnnuler = new JButton("Annuler");
    private JLabel label = new JLabel("Choisissez un produit ");
    private JComboBox produits;
    private ModificationProduit fModification;

    public SelectionProduit() {
        super("Selection produit");
        initFrame();
    }

    public void initFrame() {
        Container pane = this.getContentPane();

        JPanel panelNorth = new JPanel();
        panelNorth.setLayout(new FlowLayout());
        panelNorth.add(label);
        pane.add(panelNorth, BorderLayout.NORTH);

        JPanel panelCenter = new JPanel();
        produits = new JComboBox(getProduits());
        panelCenter.add(produits, BorderLayout.CENTER);
        pane.add(panelCenter, BorderLayout.CENTER);
        JPanel panelSouth = new JPanel();
        panelSouth.setLayout(new FlowLayout());
        this.bOK.addActionListener(this);
        this.bOK.setActionCommand("ok");
        panelSouth.add(bOK);
        this.bAnnuler.addActionListener(this);
        this.bAnnuler.setActionCommand("annuler");
        panelSouth.add(bAnnuler);
        pane.add(panelSouth, BorderLayout.SOUTH);
        this.pack();
        this.setVisible(true);
    }

    public Vector<String> getProduits() {
        List<Produit> list = ProduitDao.selectAllProduit();
        Vector<String> produitsVector = new Vector<String>();
        produitsVector.add("");
        for (int i = 0; i < list.size(); i++) {
            produitsVector.add(list.get(i).getNomProd());
        }
        return produitsVector;
    }

    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equalsIgnoreCase("annuler")) {
            this.setVisible(false);

        } else {
            String nom = (String) produits.getSelectedItem();
            if ("".equals(nom)) {
                JOptionPane.showMessageDialog(null, "Aucun produit n'a été sélectionné", "Erreur formulaire", JOptionPane.INFORMATION_MESSAGE);
            } else {
                Produit p = new Produit();
                p.setNomProd(nom);
                Produit produit = ProduitDao.selectProduitByName(p);
                fModification = new ModificationProduit(produit);
                fModification.setVisible(true);

                this.setVisible(false);
            }
        }
    }
}
